package com.df.ez_game.server.logic;

import com.df.ez_game.server.UserSession;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;

public interface ISessionLifecycle {
    /**
     * 会话激活，连接建立后，会话就算建立了
     */
    public void onActive(ChannelHandlerContext ctx, UserSession session);


    /**
     * 会话异常，一般是连接异常
     */
    public void onException(ChannelHandlerContext ctx, Throwable cause,UserSession session);

    /**
     * 会话认证后的处理
     */
    public void onLogin(Channel channel,UserSession session,Long loginId);

    /**
     * 会话登出
     */
    public void onLoginOut(Channel channel,UserSession session);

    /**
     * 会话连接断开
     */
    public void onInactive(ChannelHandlerContext ctx,UserSession session);
}
